//
// Created by PC on 2023/9/25.
/*
 * 2019 年海淀区中小学生信息学奥林匹克竞赛
小学组竞赛试题
 *3【问题描述】
现在定义运算 P 为平均值运算，即两个数 A 和 B，如果对 A 和 B 进行 P 运算，运算的结
果 C=(A+B)/2。
有 N 个正整数组成的集合，取出任意两个数进行 P 运算，将结果放回到集合，进行 N-1
次运算后，显然集合里只剩下一个数 q。
现在请你安排合适的取数顺序，使得最后的运算结果 q 最大，输出最大的运算结果。（与
标准答案误差小于 0.1 即算正确）
【输入说明】
第一行为一个正整数 N，表示集合中的数字个数。
第二行为 N 个数 a1,a2,…,an，表示集合中的数。
【输出说明】
输出一个数，表示最后的运算结果 q。
【样例输入 1】
2
5 6
【样例输出 1】
5.5
【样例输入 2】
3
400 200 100
【样例输出 2】
275
【数据范围】
对 30%数据，有 0<N≤100；
对 100%数据，有 0<N≤1000000，0<ai<=2147483647。
 * */
//思路: 从小到大计算, 先计算的数会多次除以二, 所以损失较大, 所以要先计算最小的
//


#include <iostream>

using namespace std;

int main()
{
    int n=3,t;
    double ave;
    cin>>n;
    int arr[n];
    for (int i = 0; i < n; ++i)
    {
        cin>>t;
        if(i==0)
            arr[0]=t;
        else{
            int j = i,cur=arr[j-1];
            while(j>0 && t<arr[j-1])
            {
                arr[j]=arr[j-1];
                j--;
            }
            arr[j]=t;
        }
    }
    ave=double(arr[0]+arr[1])/2;
    for (int k = 2; k < n; ++k)
    {
        ave=(ave+arr[k])/2;
    }
    cout<<ave;
//    for(int i : arr)
//        cout<<i<<endl;
    return 0;
}